package com.geek.factory.vo;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.math.BigDecimal;
import java.time.LocalDate;

/**
 * @TODO
 * @Author tianfucai
 * 2025/6/20
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
public class TInvoiceQueryVO {
    @ApiModelProperty(value = "主键")
    @TableId(value = "id", type = IdType.AUTO)
    private String id;

    @ApiModelProperty(value = "发票代码")
    private String code;

    @ApiModelProperty(value = "发票号码")
    private String number;

    @ApiModelProperty(value = "开票日期")
    private LocalDate date;

    @ApiModelProperty(value = "校验码")
    private String checkCode;

    @ApiModelProperty(value = "机器编号")
    private String machineCode;

    @ApiModelProperty(value = "购方名称")
    private String buyerName;

    @ApiModelProperty(value = "购方税号")
    private String buyerTaxCode;

    @ApiModelProperty(value = "购方地址电话")
    private String buyerAddressPhone;

    @ApiModelProperty(value = "购方开户行及银行账号")
    private String buyerBankAccount;

    @ApiModelProperty(value = "销方名称")
    private String sellerName;

    @ApiModelProperty(value = "销方税号")
    private String sellerTaxCode;

    @ApiModelProperty(value = "销方地址电话")
    private String sellerAddressPhone;

    @ApiModelProperty(value = "销方开户行及银行账号")
    private String sellerBankAccount;

    @ApiModelProperty(value = "备注")
    private String remark;

    @ApiModelProperty(value = "票种类型")
    private String type;

    @ApiModelProperty(value = "收款人")
    private String receiptor;

    @ApiModelProperty(value = "开票人")
    private String issuer;

    @ApiModelProperty(value = "复核人")
    private String reviewer;

    @ApiModelProperty(value = "关联发票详细表ID")
    private Long invoiceItemId;

    @ApiModelProperty(value = "详细发票类型")
    private String typeOrg;

    @ApiModelProperty(value = "价税合计大写")
    private String amountInWords;

    @ApiModelProperty(value = "价税合计小写")
    private String amountInFiguers;

    @ApiModelProperty(value = "密码区")
    private String password;

    @ApiModelProperty(value = "图片地址")
    private String url;

    @ApiModelProperty(value = "最小金额")
    private BigDecimal minAmount;

    @ApiModelProperty(value = "最大金额")
    private BigDecimal maxAmount;
}
